<?php

class Autoevaluacion_DetallecronogramaController extends Zend_Controller_Action {
	private $nav;
	private $codcronograma;
	
     public function init() {
        $cronograma = new Autoevaluacion_Model_Autoevaluacion();
        
		$sesion = new Zend_Session_Namespace("CRONOGRAMA");
		$this->codcronograma = $sesion->codcronograma;
         
        $datos= $cronograma->getCronogramagnral($this->codcronograma);
        
		$this->nav = new App_Util_Navegacion();
		$this->nav->agregar_navegacion ( "Listado de cronogramas", "/autoevaluacion/cronogramageneral", "Listado de cronogramas" );
		$this->nav->agregar_navegacion ( "Detalle cronograma :: {$datos["nombrecronograma"]}", "/autoevaluacion/detallecronograma", "Listado de cronogramas" );
		
	}
	
    public function indexAction() {
        $this->view->nav = $this->nav;
        $programas = new Programas_Model_Programas();
        
	    $datos["codcronograma"] = $this->codcronograma;
	    $datos["nulos"] = false;
		$this->view->datos = $programas->getProgramas($datos);
    }
    
	public function seleccionarprogramasAction() {
	    $this->_helper->layout()->disableLayout();
		$programas = new Programas_Model_Programas();
		$datos["codcronograma"] = $this->codcronograma;
		 $datos["nulos"] = true;
		$this->view->datos = $programas->getProgramas($datos);
	}
	    
    public function guardarasignarprogramasAction(){
		$cronograma = new Autoevaluacion_Model_Autoevaluacion();
	    if ($this->getRequest()->isPost()) {
			$programas = $this->_getParam ( 'seleccionados' );//Llega por POST a traves de un hidden
			try {
				$cronograma->guardarProgramasCronograma($this->codcronograma,$programas);
				$this->view->priorityMessenger("Los datos se han guardado correctamente.", "success");
			} catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(),"error");
			}
		}
		$this->_helper->redirector( "index","detallecronograma","autoevaluacion");
	}

	public function guardardesasignarprogramasAction(){
		$cronograma = new Autoevaluacion_Model_Autoevaluacion();
	    if ($this->getRequest()->isPost()) {
			$programas = $this->_getParam ( 'seleccionados' );//Llega por POST a traves de un hidden
			try {
                $datos_param = $this->_getAllParams();
			    if (!is_null($programas)){
				    $cronograma->eliminarProgramasCronograma($this->codcronograma,$programas);
				    foreach ($programas as $value) {
				        unset($datos_param["fechai_{$value}"]);
				        unset($datos_param["fechaf_{$value}"]);
				        unset($datos_param["obs_{$value}"]);
				    }
			    }
				
				foreach ($datos_param as $key => $value) {
				    if (substr($key, 0,7)=="fechai_"){
				        $array_datos = explode("_", $key);
				        if (isset($datos_param["fechai_{$array_datos[1]}"])){
    				        $datos["coddetallecronograma"]= $array_datos[1];
    				        $datos["fechainicio"]= $datos_param["fechai_{$array_datos[1]}"];
    				        $datos["fechafin"]= $datos_param["fechaf_{$array_datos[1]}"];
    				        $datos["observaciondetalle"]= $datos_param["obs_{$array_datos[1]}"];
    				        $cronograma->guardarDetallecronograma($datos);
				        }
				    }
				}
				
				$this->view->priorityMessenger("Los datos se han guardado correctamente.", "success");
			} catch (Exception $e) {
				$this->view->priorityMessenger($e->getMessage(),"error");
			}
		}
		$this->_helper->redirector( "index","detallecronograma","autoevaluacion");
	}
	
}